<html>
<body>
<h1>Template Parameters</h1>
<p>
Template parameter lists are syntactically similar to 
declarations:
<pre>

Param ::= NULL | TDecl ; Param
TDecl ::= NULL | TDecl int VIL
  | TDecl int[INT,INT] VIL
  | TDecl clock IL
  | TDecl chan IL
  | TDecl urgent chan IL
  | const ID NAT
IL ::= ID, IL; | ID;
VIL ::= ID | ID[NAT] | VIL, ID
  | VIL, ID[NAT]
</pre>

<p>Note that in contrast to global and local declarations 
should the parameter list not end with a "<tt>;</tt>"-sign.

<h2>Examples:</h2>
<ul>
<li><tt>p( clock x; int[0,1] bit )</tt> - process template <tt>p</tt> has
  two parameters: the clock <tt>x</tt> and the boolean variable 
  <tt>bit</tt>.
<li><tt>q( clock x, y; int bit1, bit2; chan a, b )</tt> - process
  template <tt>q</tt> has six parameters: two clocks, two integer
  variables (with default range), and two action 
  channels.
</ul>

</body>
</html>
